#pragma once

#include <QObject>
#include <QImage>
#include <QString>
#include "PluginIID.h"

/*
    图片处理器插件接口声明：这才是图片处理功能的实际声明。
*/

class IImageProcessor
{
public:
    virtual ~IImageProcessor() = default;

    // 处理图像并返回结果
    virtual QImage processImage(const QImage& input) = 0;

    // 可选扩展：设置处理参数
    virtual void setParameter(const QString& key, const QVariant& value) = 0;

    // 可选扩展：获取当前处理状态（如进度、模式等）
    virtual QString status() const = 0;
};

Q_DECLARE_INTERFACE(IImageProcessor, IID_IImageProcessor)
